#ifndef SWORD_H
#define SWORD_H

#include "basetrigger.h"

class Actor;
typedef boost::shared_ptr<Actor> ActorPtr;

class Sword :
	public BaseTrigger
{
public:
	Sword(std::string id = "level/sword.xml");
	~Sword(void);
	void activate(void);
	void deactivate(void);
	virtual void collision(BaseObjectPtr obj, btVector3 &point);
	void saveOffset(btTransform &trans);
	btTransform &getOffset(void);
	void setOwner(ActorPtr owner);
	void setPower(float pow, float stun, float knock);
	bool isActivated(void);
	void setTarget(ObjectType type);
protected:
	list<ActorPtr> mHitList;
	bool activated;
	btTransform mOffset;
	ActorPtr mpOwner;
	float power;
	float stun;
	float knockBack;
	ObjectType target;
};

typedef boost::shared_ptr<Sword> SwordPtr;
#endif